Best-Effort Request Labeling and Scheduling on Multicore Servers

نویسندگان

  • Kai Shen
  • Meng Zhu
چکیده

Multicore servers continue to scale on the CPU count and request execution concurrency. It is desirable to support request quality-of-service such as reducing the latency distribution tail and providing differential services. This paper presents new operating system support that labels CPU executions with requests or their QoS parameters (e.g., request arrival time) and enables online request scheduling. Since OS-level request tracking suffers from inaccuracies in situations like user-space synchronization and batched event processing, we devise effective request tracking / scheduling strategies that consciously tolerate such inaccuracies. In particular, we find that ignoring partially OS-visible synchronizations causes less harm for QoS scheduling than propagating request labels through them. We also augment OS event dispatcher like epoll wait() to return a batch of events with similar (but likely unequal) scheduling labels to user space according to the QoS heuristics. We utilize our best-effort request labeling to schedule for tail latency reduction, request prioritization, and hyperthread-contention throttling. We evaluate our system using an RSA encryption workload, a CPU/cache/memory-stressing server, the Apache Solr search engine, a Google App Engine application, and an event-driven Redis hash store on a 40-CPU machine. Results demonstrate low overhead (no more than 1%) and high scheduling effectiveness (reducing the 99th percentile request response time by 8%, 24%, 35%, 50%, and 43% for the five workloads). This work was supported in part by the National Science Foundation grants CNS-1217372, CNS-1239423, and CCF-1255729, and by a Google Research Award.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Energy Discounted Computing on Multicore Smartphones

Multicore processors are not energy proportional: the first running CPU core that activates shared resources incurs much higher power cost than each additional core does. On the other hand, typical smartphone applications exhibit little parallelism and therefore when one core is activated by an interactive application, computing resources at other cores are available at a deep energy discount. ...

متن کامل

A Clustering Approach to Scientific Workflow Scheduling on the Cloud with Deadline and Cost Constraints

One of the main features of High Throughput Computing systems is the availability of high power processing resources. Cloud Computing systems can offer these features through concepts like Pay-Per-Use and Quality of Service (QoS) over the Internet. Many applications in Cloud computing are represented by workflows. Quality of Service is one of the most important challenges in the context of sche...

متن کامل

Energy-Efficient Scheduling of Interactive Services on Heterogeneous Multicore Processors

A heterogeneous multicore processor has several cores that share the same instruction set architecture but run at different speeds and power consumption rates, offering both energy efficient cores and high-performance cores to applications. We show how to exploit such processors to make significant energy reduction to serve large interactive workloads such as web search by carefully scheduling ...

متن کامل

Real-Time Performance and Middleware on Multicore Linux Platforms

An increasing number of distributed real-time applications are running on multicore platforms. However, existing real-time middleware (e.g., Real-Time CORBA) lacks support for scheduling soft real-time tasks on multicore platforms while guaranteeing their time constraints will be satisfied. This paper makes three contributions to the state of the art in real-time system software for multicore p...

متن کامل

Real-Time Disk Scheduling in a Mixed-Media File System

This paper presents our real-time disk scheduler called the L scheduler, which optimizes unscheduled best-effort disk requests by giving priority to best-effort disk requests while meeting real-time request deadlines. Our scheduler tries to execute real-time disk requests as much as possible in the background. Only when real-time request deadlines are endangered, our scheduler gives priority to...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016